class Animal(object):
    def __init__(self, name ,age):  # 定义实例属性
        self.name = name
        self.age = age

    def make_sound(self):
        print("动物发音")

class Dog(Animal):
    def __init__(self, name, age):
        super().__init__(name, age)  #  super().__init__() 只负责处理​​属性继承​​

    def make_sound(self):
        print("汪汪")

# 使用示例
dog = Dog("Buddy", 3)
print(dog.name)  # 输出 "Buddy"
dog.make_sound()

"""只要子类定义了 make_sound 方法，就会调用子类的方法（覆盖父类）​​；如果子类没有定
义，才会继承父类的 make_sound。这是 Python ​​方法重写（Override）​​ 和多态的核心特性。
"""